package com.xmtlxx.tms.domain.bo;

import com.xmtlxx.common.core.domain.BaseEntity;
import com.xmtlxx.common.core.validate.AddGroup;
import com.xmtlxx.common.core.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 承运商业务对象 t_carrier
 *
 * @author xmtlxx
 * @date 2022-08-15
 */

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("承运商业务对象")
public class CarrierBo extends BaseEntity {

    /**
     * 承运商ID
     */
    @ApiModelProperty(value = "承运商ID")
    private String id;

    /**
     * 关联组织架构id
     */
    @ApiModelProperty(value = "关联组织架构id", required = true)
    @NotNull(message = "关联组织架构id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long deptId;

    /**
     * 组织架构名称
     */
    @ApiModelProperty(value = "组织架构名称", required = true)
    @NotBlank(message = "组织架构名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String deptName;

    /**
     * 联系人
     */
    @ApiModelProperty(value = "联系人", required = true)
    @NotBlank(message = "联系人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String contacts;

    /**
     * 联系方式
     */
    @ApiModelProperty(value = "联系方式", required = true)
    @NotBlank(message = "联系方式不能为空", groups = { AddGroup.class, EditGroup.class })
    private String contactsTel;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态")
    private String status;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     * 承运商类型
     */
    @ApiModelProperty(value = "承运商类型", required = true)
    @NotBlank(message = "承运商类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String carrierType;

    /**
     * 承运商管理帐号
     */
    @ApiModelProperty(value = "承运商管理帐号")
    private Long bingUserId;

    /**
     * 删除标识
     */
    @ApiModelProperty(value = "删除标识")
    private String delFlag;


}
